/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2022-2022.
 * Description: support to reorder the IMA initialization procedure
 * Author: xiongshenglan <xiongshenglan@huawei.com>
 * Create: 2022-09-20
 */
#ifndef RTOS_IMA_TPM_DECOUPLE_H
#define RTOS_IMA_TPM_DECOUPLE_H

enum {
	IMA_DEFAULT_MEASUREMENTS_RECORDING,
	IMA_DEFAULT_MEASUREMENTS_MOVED
};

extern int ima_sha1_idx;
extern int ima_hash_algo_idx;
extern int ima_extra_slots;

extern int ima_default_measurements_status; /* the status of ima_default_measurements */
extern void ima_validate_tpm(struct file *filp);

extern int (*ima_tpm_pcr_extend_p)(struct tpm_chip *chip, u32 pcr_idx, struct tpm_digest *digests);
extern void ima_move_default_measurements(void);

extern int ima_add_boot_aggregate(void);
extern bool dentry_is_ima_policy(struct dentry *dentry);

#endif
